package JZ.JZ37;

/**
 * @author corn
 * @create 2020-08-11-20:31
 */

import java.util.Arrays;

/**
 * JZ37 数字在升序数组中出现的次数
 * 题目描述
 * 统计一个数字在升序数组中出现的次数。
 */
public class Solution {
    public int GetNumberOfK(int [] array , int k) {
        //直接遍历
        /*int count=0;
        for(int i=0;i<array.length;i++){
            if(array[i]==k)
                count++;
        }*/
        //二叉搜索
        int index = Arrays.binarySearch(array, k);
        if(index<0)return 0;
        int count = 1;
        for(int i=index+1; i < array.length && array[i]==k;i++)
            count++;
        for(int i=index-1; i >= 0 && array[i]==k;i--)
            count++;
        return count;
    }
}
